package com.kmxd.ams.client.archive.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 水印管理表
 *
 * @author nickbi
 * @since 2022-09-19
 */
@Data
@Schema(description = "水印管理表对象")
public class ArchiveWatermarkVO implements Serializable {

  private static final long serialVersionUID = 1L;

  @Schema(description = "编号主键")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long id;

  @Schema(description = "全宗id")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long fondsId;

  @Schema(description = "门类id")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long archTypeId;

  @Schema(description = "文字位置")
  private String textPosition;

  @Schema(description = "文字水印")
  private String text;

  @Schema(description = "图形水印的位置")
  private String picPosition;

  @Schema(description = "上传的图片的位置")
  private String picPath;

  @Schema(description = "启用:0未启用，1启用")
  private Boolean enabled;

  @Schema(description = "1文字水印，2图片水印，3个人水印")
  private Integer type;

  @Schema(description = "文字大小")
  private Integer fontSize;

  @Schema(description = "倾斜角度")
  private Double angle;

  @Schema(description = "透明度")
  private Double opacity;

  @Schema(description = "动态水印设置内容")
  private String dynamicInfo;

  @Schema(description = "创建人 关联用户表主键")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long createBy;

  @Schema(description = "创建时间 创建时间")
  @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  private Date createTime;

  @Schema(description = "最后一次修改人 关联用户表主键")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long updateBy;

  @Schema(description = "最后一次修改时间 最后一次修改时间")
  @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  private Date updateTime;

  @Schema(description = "备注")
  private String remarks;
}
